package com.ruoyi.rpt.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.rpt.domain.RptDesign;

/**
 * 报表设计Mapper接口
 * 
 * @author ruoyi
 */
public interface RptDesignMapper 
{
    /**
     * 查询报表设计
     * 
     * @param designId 报表设计ID
     * @return 报表设计
     */
    public RptDesign selectRptDesignById(Long designId);

    /**
     * 查询报表设计列表
     * 
     * @param rptDesign 报表设计
     * @return 报表设计集合
     */
    public List<RptDesign> selectRptDesignList(RptDesign rptDesign);
    
    /**
     * 根据报表ID查询设计
     * 
     * @param reportId 报表ID
     * @return 报表设计
     */
    public RptDesign selectRptDesignByReportId(Long reportId);
    
    /**
     * 查询报表设计历史版本
     * 
     * @param reportId 报表ID
     * @return 报表设计历史版本集合
     */
    public List<RptDesign> selectRptDesignHistory(Long reportId);

    /**
     * 新增报表设计
     * 
     * @param rptDesign 报表设计
     * @return 结果
     */
    public int insertRptDesign(RptDesign rptDesign);

    /**
     * 修改报表设计
     * 
     * @param rptDesign 报表设计
     * @return 结果
     */
    public int updateRptDesign(RptDesign rptDesign);

    /**
     * 删除报表设计
     * 
     * @param designId 报表设计ID
     * @return 结果
     */
    public int deleteRptDesignById(Long designId);

    /**
     * 批量删除报表设计
     * 
     * @param designIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteRptDesignByIds(Long[] designIds);
    
    /**
     * 根据报表ID删除报表设计
     * 
     * @param reportId 报表ID
     * @return 结果
     */
    public int deleteRptDesignByReportId(Long reportId);
} 